﻿#pragma once
#ifndef VK_TRIANGLE_VK_H_
#define VK_TRIANGLE_VK_H_

#include <iostream>
#define GLFW_INCLUDE_VULKAN
#include <GLFW/glfw3.h>

#define GLM_FORCE_RADIANS
#define GLM_FORCE_DEPTH_ZERO_TO_ONE
#include <glm/mat4x4.hpp>
#include <glm/vec4.hpp>

class HelloTriangleApplication {
 public:
  HelloTriangleApplication();
  void run();

 private:
  void InitVulkan();

  void InitWindow();

  void MainLoop();

  void Cleanup();

  void CreateInstance();

  bool CheckValidationLayerSupport();

  GLFWwindow *win_;

  VkInstance instance_;
};

#endif  // VK_TRIANGLE_VK_H_

